using System;
using System.Collections.Generic;
using System.Data;
using System.Text;

namespace Workflows.Components
{
    //public enum SimpleDataType
    //{
    //    IntNumberType = 0,
    //    DecimalNumberType = 1,
    //    TextType = 2,
    //    YesNoType = 3,
    //    DateTimeType = 4
    //}

    //public class SimpleDataTypeConverter
    //{
    //    public static object ConvertFrom(string val, SimpleDataType tgtDataType)
    //    {
    //        object tgt = null;
    //        switch(tgtDataType)
    //        {
    //            case SimpleDataType.DateTimeType:
    //                if (!string.IsNullOrEmpty(val))
    //                {
    //                    tgt = DateTime.Parse(val);
    //                }
    //                else
    //                    tgt = DateTime.MinValue;
    //                break;
    //            case SimpleDataType.DecimalNumberType:
    //                if(!string.IsNullOrEmpty(val))
    //                {
    //                    tgt = decimal.Parse(val);
    //                }
    //                else
    //                {
    //                    tgt = decimal.MinValue;
    //                }
    //                break;
    //            case SimpleDataType.IntNumberType:
    //                if(!string.IsNullOrEmpty(val))
    //                {
    //                    tgt = int.Parse(val);
    //                }
    //                else
    //                {
    //                    tgt = int.MinValue;
    //                }
    //                break;
    //            case SimpleDataType.TextType:
    //                tgt = val;
    //                break;
    //            case SimpleDataType.YesNoType:
    //                if (!string.IsNullOrEmpty(val))
    //                    tgt = bool.Parse(val);
    //                else
    //                    tgt = false;
    //                break;
    //            default:
    //                break;
    //        }
    //        return tgt;
    //    }

    //    public static Type GetVariableDataType(SimpleDataType wfDataType)
    //    {
    //        switch(wfDataType)
    //        {
    //            case SimpleDataType.DateTimeType:
    //                return typeof (DateTime);
    //            case SimpleDataType.DecimalNumberType:
    //                return typeof (decimal);
    //            case SimpleDataType.IntNumberType:
    //                return typeof (int);
    //            case SimpleDataType.TextType:
    //                return typeof (string);
    //            case SimpleDataType.YesNoType:
    //                return typeof (bool);
    //            default:
    //                return typeof (string);
    //        }
    //    }

    //    public static SimpleDataType ToSimpleDataType(Type type)
    //    {
    //        if(type==typeof(int))
    //            return SimpleDataType.IntNumberType;
    //        else if(type==typeof(decimal))
    //            return SimpleDataType.DecimalNumberType;
    //        else if(type==typeof(string))
    //            return SimpleDataType.TextType;
    //        else if(type==typeof(bool))
    //            return SimpleDataType.YesNoType;
    //        else if(type==typeof(DateTime))
    //            return SimpleDataType.DateTimeType;
    //        else
    //            return SimpleDataType.TextType;
    //    }
    //}

    //[Serializable]
    //public class GlobalVariable
    //{
    //    private string _VarName;

    //    public string VarName
    //    {
    //        get { return _VarName; }
    //        set { _VarName = value; }
    //    }

    //    private SimpleDataType _DataType;

    //    public SimpleDataType DataType
    //    {
    //        get { return _DataType; }
    //        set { _DataType = value; }
    //    }
	
    //    private object _VarValue;

    //    public string VarValue
    //    {
    //        get { return this._VarValue == null ? string.Empty : this._VarValue.ToString(); }
    //        set { _VarValue = SimpleDataTypeConverter.ConvertFrom(value, this._DataType); }
    //    }

    //    public GlobalVariable()
    //    {
    //        this._VarName = "Parameter 1";
    //        this._VarValue = string.Empty;
    //        this._DataType = SimpleDataType.TextType;
    //    }

    //    public GlobalVariable(string name, SimpleDataType dbtype, object val)
    //    {
    //        this._VarName = name;
    //        this._DataType = dbtype;
    //        this._VarValue = val;
    //    }
    //}
}
